package com.jg.utils.reflex.classes;

import com.jg.utils.reflex.en.User;
import org.junit.jupiter.api.Test;

import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;

public class ListTest {
    @Test
    public void testList() throws Exception{
        List<User> userList = new ArrayList<>();
        userList.add(new User("张三",23,"233"));
        userList.add(new User("李四",24,"555"));

        Class<? extends List> listClass = userList.getClass();
        Method addMethod = listClass.getDeclaredMethod("add", Object.class);
        addMethod.invoke(userList,123);
        addMethod.invoke(userList,"呵呵呵");
        //证实：泛型回在运行阶段被察除，这个时候像集合一类的对象就可以强制往里面放入非指定的泛型的数据
//        如果一定要这样使用的话，建议后面不要进行任何操作，直接返回给前端。
        System.out.println(userList);
    }
}
